home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2005 October / PCWOCT05.iso / Software / FromTheMag / XAMPP 1.4.14 / xampp-win32-1.4.14-installer.exe / xampp / php / pear / Var_Dump / Renderer / Common.php next >
PHP Script  |  2004-10-01  |  4KB  |  122 lines

  1. <?php
  2. /* vim: set expandtab tabstop=4 shiftwidth=4: */
  3. // +----------------------------------------------------------------------+
  4. // | PHP version 4                                                        |
  5. // +----------------------------------------------------------------------+
  6. // | Copyright (c) 1997-2004 The PHP Group                                |
  7. // +----------------------------------------------------------------------+
  8. // | This source file is subject to version 3.0 of the PHP license,       |
  9. // | that is bundled with this package in the file LICENSE, and is        |
  10. // | available through the world-wide-web at the following url:           |
  11. // | http://www.php.net/license/3_0.txt.                                  |
  12. // | If you did not receive a copy of the PHP license and are unable to   |
  13. // | obtain it through the world-wide-web, please send a note to          |
  14. // | license@php.net so we can mail you a copy immediately.               |
  15. // +----------------------------------------------------------------------+
  16. // | Authors: Frederic Poeydomenge <frederic.poeydomenge@free.fr>         |
  17. // +----------------------------------------------------------------------+
  18. //
  19. // $Id:
  20.  
  21. /**
  22.  * A base class for Var_Dump renderers, must be inherited by all such.
  23.  *
  24.  * @package Var_Dump
  25.  * @category PHP
  26.  * @author Frederic Poeydomenge <frederic.poeydomenge@free.fr>
  27.  */
  28.  
  29. class Var_Dump_Renderer_Common
  30. {
  31.  
  32.     /**
  33.      * Run-time configuration options.
  34.      * @var array
  35.      * @access public
  36.      */
  37.     var $options = array();
  38.  
  39.     /**
  40.      * Default configuration options.
  41.      * See Var_Dump/Renderer/*.php for the complete list of options
  42.      * @var array
  43.      * @access public
  44.      */
  45.     var $defaultOptions = array();
  46.  
  47.     /**
  48.      * Array containing the element family : start/finish group, start/finish element
  49.      * @var array
  50.      * @access public
  51.      */
  52.     var $family;
  53.  
  54.     /**
  55.      * Array containing the element depths
  56.      * @var array
  57.      * @access public
  58.      */
  59.     var $depth;
  60.  
  61.     /**
  62.      * Array containing the element types
  63.      * @var array
  64.      * @access public
  65.      */
  66.     var $type;
  67.  
  68.     /**
  69.      * Array containing the element values
  70.      * @var array
  71.      * @access public
  72.      */
  73.     var $value;
  74.  
  75.     /**
  76.      * Array containing the strlen of keys for all the nested arrays
  77.      * @var array
  78.      * @access public
  79.      */
  80.     var $keyLen;
  81.  
  82.     /**
  83.      * Set run-time configuration options for the renderer
  84.      * @param array $options Run-time configuration options.
  85.      * @access public
  86.      */
  87.     function setOptions($options = array())
  88.     {
  89.         $this->options = array_merge($this->defaultOptions, $options);
  90.     }
  91.  
  92.     /**
  93.      * Initialize internal data structures for the rendering.
  94.      * @param array $family Containing the element family.
  95.      * @param array $depth  Containing the element depths.
  96.      * @param array $type   Containing the element types.
  97.      * @param array $value  Containing the element values.
  98.      * @param array $keyLen Strlen of keys for all the nested arrays
  99.      * @access public
  100.      */
  101.     function initialize(&$family, &$depth, &$type, &$value, &$keyLen)
  102.     {
  103.         $this->family = $family;
  104.         $this->depth  = $depth;
  105.         $this->type   = $type;
  106.         $this->value  = $value;
  107.         $this->keyLen = $keyLen;
  108.     }
  109.  
  110.     /**
  111.      * Returns the string representation of a variable
  112.      * @return string The string representation of the variable.
  113.      * @access public
  114.      * @abstract
  115.      */
  116.     function toString()
  117.     {
  118.     }
  119.  
  120. }
  121.  
  122. ?>